package org.casper.demo2;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

/**
 * 使用dom4j生成 xml文档
 * project_name:XMLTest<br>
 * package_name:org.casper.demo2<br>
 * file_name:DOM4jGenerate.java<br>
 * @author Casper<br>
 * create_date:2015年10月8日 下午3:30:15<br>
 * modified_date:
 * description:
 *
 */
public class DOM4jGenerate {

	public static void main(String[] args) {
		//1.创建根元素
		Element rootEle = DocumentHelper.createElement("books");
		//2.创建xml文档
		Document booksDou = DocumentHelper.createDocument(rootEle);
		//3.创建 book元素
		Element bookEle = DocumentHelper.createElement("book");
		//4.创建 id元素   创建 name元素  创建author元素
		Element idEle = DocumentHelper.createElement("id");
		Element nameEle = DocumentHelper.createElement("name");
		//5.设置 id元素  name元素的值
		idEle.addComment("id元素标签");
		idEle.setText("1");
		nameEle.addComment("书名标签");			//为标签添加注释
		nameEle.setText("钢铁是怎样练成的");
		//6.添加元素之间的关系
		bookEle.add(idEle);
		bookEle.add(nameEle);
		rootEle.add(bookEle);
		//7.XML文件的输出
		XMLWriter writer =null;
		try {
			writer = new XMLWriter(new FileOutputStream(new File("d:/books.xml"))
					,new OutputFormat("\t", true));
			writer.write(booksDou);
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			try {
				writer.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}
